From c81a0431ae2f10f66f4ce4c2d3176e15b83bcad2 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Sat, 10 Mar 2007 06:25:53 +0000 Subject: [PATCH] [USE_CARBON_EVENTS] (mac_handle_mouse_event): Ignore mouse wheel movement on title bar or tool bar. --- src/macterm.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/macterm.c b/src/macterm.c index 3dbee62d2aa..c85dc7da013 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -9988,23 +9988,30 @@ mac_handle_mouse_event (next_handler, event, data) if (err != noErr || axis != kEventMouseWheelAxisY) break; - err = GetEventParameter (event, kEventParamMouseWheelDelta, - typeSInt32, NULL, sizeof (SInt32), - NULL, &delta); - if (err != noErr) - break; err = GetEventParameter (event, kEventParamMouseLocation, typeQDPoint, NULL, sizeof (Point), NULL, &point); if (err != noErr) break; + + SetPortWindowPort (wp); + GlobalToLocal (&point); + if (point.h < 0 || point.v < 0 + || EQ (window_from_coordinates (f, point.h, point.v, 0, 0, 0, 1), + f->tool_bar_window)) + break; + + err = GetEventParameter (event, kEventParamMouseWheelDelta, + typeSInt32, NULL, sizeof (SInt32), + NULL, &delta); + if (err != noErr) + break; + read_socket_inev->kind = WHEEL_EVENT; read_socket_inev->code = 0; read_socket_inev->modifiers = (mac_event_to_emacs_modifiers (event) | ((delta < 0) ? down_modifier : up_modifier)); - SetPortWindowPort (wp); - GlobalToLocal (&point); XSETINT (read_socket_inev->x, point.h); XSETINT (read_socket_inev->y, point.v); XSETFRAME (read_socket_inev->frame_or_window, f); -- 2.30.2